package com.huawei.sort_algorithm;

//插入排序
public class InsertSort {
    public static void insertSort1(int[] array) {
        for(int i=1; i<array.length; i++){
            int temp = array[i];//保存每次需要插入的那个数
            int j;
            for(j=i; j>0&&array[j-1]>temp; j--){//这个较上面有一定的优化
                array[j] = array[j-1];//吧大于需要插入的数往后移动。最后不大于temp的数就空出来j
            }
            array[j] = temp;//将需要插入的数放入这个位置
        }
    }
    
    public static void insertSort2(int[] array) {
        for(int i=1; i<array.length; i++){
            for(int j=i; j>0; j--){
                if(array[j]<array[j-1]){
                    int temp = array[j-1];
                    array[j-1] = array[j];
                    array[j] = temp;
                }
            }
        }
    }
}
